home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Coverdisks / CDU / V4D03.D64 / aw-basic parser (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  1.2 KB  |  51 lines

  1. 5 REM"[141][154]
  2. 100 [143] ********************************
  3. 110 [143] *   VERY SIMPLE BASIC PARSER   *
  4. 120 [143] *        BY JASON FINCH        *
  5. 130 [143] *                              *
  6. 140 [143] * ENTER COMMAND AND IT WILL BE *
  7. 150 [143] * SPLIT (VERB-NOUN FORM ONLY.) *
  8. 160 [143] *                              *
  9. 170 [143] * CHECK DATA AT END FOR VOCAB. *
  10. 180 [143] ********************************
  11. 190 [141]500:[133]"LOADPRINTWHAT NOW";COMM$:[143]"GOSUB
  12. 200 NOUN$="": VERB$="": VB=0: NO=0
  13. 210 L=LEN(COMM$)
  14. 220 FOR X=1 TO L
  15. 230 IF MID$(COMM$,X,1)=" " THEN X=L: GOTO 250
  16. 240 VERB$=VERB$+MID$(COMM$,X,1)
  17. 250 NEXT
  18. 260 V$=VERB$:VERB$=LEFT$(V$,4)
  19. 270 F=0: FOR X=1 TO NV
  20. 280 IF VERB$=VB$(X) THEN VB=X: F=1: X=NV
  21. 290 NEXT: IF F=1 THEN 320
  22. 300 VB=0: IF V$=COMM$ THEN 340
  23. 310 GOTO 330
  24. 320 IF(LEN(V$)+1) >= LEN(COMM$) THEN NOUN=0: GOTO 420
  25. 330 NOUN$=RIGHT$(COMM$,L-1-LEN(V$))
  26. 340 N$=NOUN$:NOUN$=LEFT$(N$,4)
  27. 350 F=0: FOR X=1 TO NN
  28. 360 IF NO$(X)=NOUN$ THEN NO=X: F=1:X=NN
  29. 370 NEXT: IF F=1 THEN 390
  30. 380 NO=0: GOTO 420
  31. 390 GOTO 420:REM"[141][154]
  32. 400 :
  33. 410 :
  34. 420 [153] "SYS VERB: OPEN"V$
  35. 430 [153] "SYS NOUN: OPEN"N$
  36. 440 [153]
  37. 450 [153] "SYS VERB NUMBER:OPEN"VB
  38. 460 [153] "SYS NOUN NUMBER:OPEN"NO
  39. 470 [153]:[153]:[153]"":[128]
  40. 480 :
  41. 490 :
  42. 500 [151]53280,5:[151]53281,11
  43. 510 NV[178]6: NN[178]4
  44. 520 [129] X[178]1 [164] NV: [135] VB$(X): [130]
  45. 530 [129] X[178]1 [164] NN: [135] NO$(X): [130]
  46. 540 [142]
  47. 550 :
  48. 560 :
  49. 570 [131] GET,DROP,SEAR,LOOK,EAT,HIT
  50. 580 [131] COIN,KEY,DOOR,APPL
  51.